/* 
 * File:   OperacionSincronizacionArchivosEliminadosEnCliente.h
 * Author: maximiliano
 *
 * Created on 15 de junio de 2013, 10:41
 */

#ifndef OPERACIONSINCRONIZACIONARCHIVOSELIMINADOSENCLIENTE_H
#define	OPERACIONSINCRONIZACIONARCHIVOSELIMINADOSENCLIENTE_H

#include <stdint.h>
#include "client_FileServiceProxy.h"
#include "client_OperacionSecuencial.h"
#include "common_Repositorio.h"
#include "common_RepoItem.h"

using namespace TP::Archivos;
using namespace TP::Servicios;

namespace TP { namespace Operaciones {
    
class OperacionSincronizacionArchivosEliminadosEnCliente : public OperacionSecuencial  {
    
public:
    OperacionSincronizacionArchivosEliminadosEnCliente(const uint32_t &pToken, Repositorio **pRepositorioLocal, FileServiceProxy* pFileService);
    
    virtual ~OperacionSincronizacionArchivosEliminadosEnCliente();
       
    virtual void ejecutar();
    
private:

    void CalcularEsquemaTrabajo();
    
    SetRepoItem getArchivosAEliminarEnServidor();
    
    void CalcularEsquemaTrabajoArchivosAEliminarEnServidor();
    
    Repositorio **_repositorioLocal;
    
    FileServiceProxy *_fileService;
};
}}

#endif	/* OPERACIONSINCRONIZACIONARCHIVOSELIMINADOSENCLIENTE_H */

